DNAD, a simple tool for automatic differentiation of Fortran codes using dual numbers

نویسندگان

  • Wenbin Yu
  • Maxwell Blair
چکیده

DNAD (dual number automatic differentiation) is a simple, general-purpose tool to automatically differentiate Fortran codes written in modern Fortran (F90/95/2003) or legacy codes written in previous version of the Fortran language. It implements the forward mode of automatic differentiation using the arithmetic of dual numbers and the operator overloading feature of F90/95/2003. Very minimum changes of the source codes are needed to compute the first derivatives of Fortran programs. The advantages of DNAD in comparison to other existing similar computer codes are its programming simplicity, extensibility, and computational efficiency. Specifically, DNAD is more accurate and efficient than the popular complex-step approximation. Several examples are used to demonstrate its applications and advantages.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automatic Differentiation with Code Coupling and Applications to Scale Modules

An advanced automatic differentiation tool for Fortran 90 software has been developed at Oak Ridge National Laboratory. This tool, called GRESS 90, has a code-coupling feature to propagate derivatives relative to the input of one code through a series of codes that utilize the results of one calculation as the input in the next to determine a final result. GRESS 90 has been applied to the reson...

متن کامل

Application of Automatic Differentiation to 3-D Volume Grid Generation Software1

Automatic differentiation (AD) is a methodology for developing reliable sensitivity-enhanced versions of arbitrary computer programs with little human effort. As such, it can vastly accelerate the use of advanced simulation codes in a multidisciplinary design optimization context, as the time for generating and verifying derivative codes is greatly reduced. In this paper, we report on the appli...

متن کامل

Application of Automatic Differentiation to Groundwater Transport Models

Automatic diierentiation (AD) is a technique for generating eecient and reliable derivative codes from computer programs with a minimum of human eeort. Derivatives of model output with respect to input are obtained exactly. No intrinsic limits to program length or complexity exist for this procedure. Calculation of derivatives of complex numerical models is required in systems optimization, par...

متن کامل

An Example of an Automatic Differentiation-Based Modelling System

We present a prototype of a Carbon Cycle Data Assimilation System (CCDAS), which is composed of a terrestrial biosphere model (BETHY) coupled to an atmospheric transport model (TM2), corresponding derivative codes and a derivative-based optimisation routine. In calibration mode, we use first and second derivatives to estimate model parameters and their uncertainties from atmospheric observation...

متن کامل

Development and first applications of TAC++

The paper describes the development of the software tool Transformation of Algorithms in C++ (TAC++) for automatic differentiation (AD) of C(++) codes by sourceto-source translation. We have transferred to TAC++ a subset of the algorithms from its well-established Fortran equivalent, Transformation of Algorithms in Fortran (TAF). TAC++ features forward and reverse as well as scalar and vector m...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Computer Physics Communications

دوره 184  شماره 

صفحات  -

تاریخ انتشار 2013